home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / os2 / srefv112.zip / INITFILT.DOC < prev    next >
Text File  |  1996-05-25  |  28KB  |  758 lines

  1. SRE-FILTER support file.  5/96.
  2.  
  3. This file contains a detailed description of the variables contained
  4. in INITFILT.80.
  5.  
  6.      Note that in almost all cases the variables are set to equal strings, so
  7.      remember to put quotes (') aound the stuff on the rhs of
  8.      the = sign.
  9.  
  10. The following parameters are in alphabetical order (by name  of parameter).
  11.  
  12. At the end of this file is a list of file and directory names.
  13.  
  14.  
  15. Performance hints:
  16. a)To speed up percieved performance, with some loss of flexibility
  17.   we recommend ALL the following settings:
  18.      auto_header='HEAD'
  19.      delim_1.2=0                 
  20.      retain_bad_keyphrases='NO'
  21.      fix_expire=0
  22.   (given these setting, SEND is used to immediately send early
  23.    portions of the document to the client.  This tends to speed up
  24.    overall processing time, but the client sees something sooner)
  25.  
  26. b) If you are willing to NOT have server side includes, then set
  27.      NO_INCLUDE='YES'
  28.  (in which case the hint a is irrelevant)
  29.  
  30. c) Turn on GoServe's cache (this will have little effect if your documents
  31.    have server side includes, or if you have any access controls)
  32.  
  33. d) If you do have access controls, but have some documents that are 
  34.    available to everyone, and these documents do not have server
  35.    side includes, set up PUBLIC_FILE entries for them (since public_files
  36.    are cached if possible)
  37.  
  38.                         ----------------------------
  39. ************
  40. EXPERIMENTAL ::: You'll need to tune GoServe For this to Work Properly!
  41.  
  42. ACCEPT_RANGE: Return only specified range of the request file
  43.  
  44. You can instruct SRE-FILTER to respond to a range: request header.
  45. If such a request header is present, SRE-FILTER will extract the "byte
  46. range" information, and return only this portion of the request file.
  47. For example,  Acrobat can use this to request a given page
  48. in a long .pdf file.
  49.  
  50. If accept_range=NO, this processing will not occur -- the entire file will
  51. always be returned.
  52. If accept_range=YES, this processing will occur.  Of course, if there is
  53. no range: header, then the entire file is returned.
  54.  
  55. Accept range is used when a non-html file is requested, or an html file
  56. without server side includes. The output of server side programs,
  57. and HTML files with server side includes, are not against byte range -- 
  58. the entire output is always returned.
  59.  
  60.  
  61.   Example: accept_range='YES'
  62.  
  63. For more information "byte range retrieval", see the document:
  64.   draft-ieft-http-range-retrieval-00.txt at ds.internic.net.
  65.  
  66.  
  67. Notes on GoServe and Multi-part sends:  GoServe is a bit flaky with
  68. multi-part sends.  The following seems to work for us (as of 5/96):
  69. 1) Get the "2.48" version of goserve -- it's at
  70.    http://www2.hursley.ibm.com/goserve/gostest.exe (rename it to GOSERVE.EXE
  71.    and put it in your GOSERVE directory)
  72. 2) Set the "limits connection maintain" to 0.  GOSERVE.DOC suggests a non-zero
  73. value for connection maintain, but it such values seem to cause more trouble
  74. then help.
  75.  
  76.  
  77.  
  78.  
  79. ************
  80. ALLOW_ACCESS : Control access to files and server side processing routines.
  81.    You can check "transfer privileges" for ALL files on a file by file
  82.    basis by setting the ALLOW_ACCESS variable.
  83.      YES, no access control
  84.      INHOUSE: don't check in-house and superusers.
  85.       NO : don't check superusers.
  86.   Note that checking involves examination of privilege information
  87.   on a file by file basis (uses the ACCESS_FILE file, with the
  88.   default name of  \goserv\data\all_file.ctl.)
  89.  
  90.   Note2: If you want to control server side processing or server side include privileges
  91.           on a per url basis, you'll need to set ALLOW_ACCESS to NO or INHOUSE (see
  92.           description of SSI_ALLOW and SSP_ALLOW below)
  93.  
  94.    Example: allow_access='YES'
  95.  
  96.  
  97. ********
  98. AUTO_HEADER
  99.  
  100. AUTO_HEADER is set whenever you want to automatically generate response
  101. headers, based on LINK and META HTTP-EQUIV elements in the <HEAD> of
  102. and HTML document.
  103.  
  104. 3 values are supported:
  105.        NO) Do not generate these headers
  106.     HEAD) Generate headers for HEAD requests only
  107.  ALWAYS) Generate headers for HEAD and GET requests.
  108.  
  109. Note that this is only relevant for HTML files.
  110. Also note that for "expedited sending", this should NOT equal ALWAYS.
  111.  
  112.  
  113.   Example: AUTO_HEADER="HEAD"
  114.  
  115.  
  116.  
  117.  
  118. *********
  119. AUTO_NAME : Resolving requests for directories.
  120.    How to deal with non-specific request that are NOT to the
  121.    root (the /) directory.
  122.  
  123.  Set up a space delimited list of potential "directory specific default names".
  124.  
  125.  Several special names are supported:
  126.     *.HTM  or  *.HTML :  means "use the "directory" name, with .HTM or 
  127.                             .HTML appended
  128.     !CREATE :  Create a list of links, one for each file in the directory.
  129.     !CREATE* : Same as !CREATE, but include links to subdirectories
  130.  
  131.   Example: AUTO_NAME=" *  INDEX.HTM PAGE.HTM DESCRIBE.HTM  !CREATE "
  132.  
  133.      If a request for xxx/yyy/ (with optional ?abc after the final /) is
  134.      recieved, then
  135.           first, yyy.htm is looked for (in datadir/xxx/yyy)
  136.         second, INDEX.HTM (in datadir/xxx/yyy).
  137.         Then PAGE.HTM, and then, DESCRIBE.HTM are tried.
  138.         If all these fail, !CREATE signals "just display a the files in this directory"
  139.  
  140.      Note that if !CREATE were not included in this list, and 
  141.      none of the requested files exist, a  not_found message is returned.
  142.  
  143.   Notes:
  144.     AUTO_NAME is NOT used when request is to the root (to /) -- DEFAULT is
  145.     used!
  146.     You can put a "pathed" name (using /, relative to the data directory)
  147.     This is one means of handling bad requests (but only if the request
  148.     ends in a /) -- just put the home page document in the auto_name list:
  149.        i.e.; auto_name=" * INDEX.HTM /HOMEPAGE.HTM "
  150.     We strongly recommend putting !CREATE at the end of the list (since
  151.      !CREATE is "always a match")
  152.  
  153.   Example: AUTO_NAME=" * INDEX.HTM  "
  154.  
  155. ***************
  156. CHECK_ALIAS: Controls whether alias checking occurs.
  157.    SREFILTR can check all request to see if they are aliases for some
  158.    other action.
  159.  
  160.      Uses of aliases include:
  161.         implementation of searchable indices
  162.         assign proper document names  to abbreviations
  163.              (say, to convert an request of OVERVIEW into OVERVIEW.HTM)
  164.         for document redirection
  165.         for transferring non-data directory files
  166.  
  167.  Setting CHECK_ALIAS to
  168.        NO suppresses this alias lookup
  169.        YES causes this lookup to be done for all requests
  170.        HTM causes this lookup to be done for requests that end
  171.              in .HTM or .HTML (eg; DOSEARCH.HTMxxx)
  172.  
  173.  
  174.   Example:  CHECK_alias="YES"
  175.  
  176.  
  177.  
  178. ************
  179. CHECKLOG:  When and how to check logons.
  180.     There are four values:
  181.          1) NO  -- never check (free access)
  182.          2) YES -- check when default document (either explicitily, or if a /
  183.                    is requested).  Thus, a request for a specific document
  184.                    will not cause a logon request.
  185.          3) ALWAYS -- check on every request.
  186.          4) INHOUSE -- Only let IN-HOUSE users in.
  187.                        IN-HOUSE users are determined by the USERCLASS
  188.                        field in the USERS_FILE file, and by the
  189.                        INHOUSEIPS.n variables
  190.    Note: if ALWAYS or INHOUSE is selected, then GOSERVE will NOT cache GET
  191.          requests.
  192.  
  193.    Example:   checklog='NO'
  194.  
  195.  
  196. **********
  197. DEFAULT -- the "default" (home) page.
  198.   Use this if default request (say, http://www.joe.com/ ) occurs.
  199.    Note: it is traditional, but by no means required,
  200.            to use INDEX.HTM as your default
  201.  
  202.    Example:  default='eira.htm'
  203.  
  204.  
  205. *************
  206. DELIMITERS for KEYPHRASES
  207.  SREFILTR does "server side" includes by looking for keyphrases in your
  208.  HTML documents. A keyphrase is defined as: delim1  keyword keyvalue delim2.
  209.  
  210.  Delim1 and Delim2 are strings (possibly 1 character) that signal the
  211.  location   of the keyphrase.  These delimiters should be odd,
  212.  yet easy to remember (and not likely to occur in your text).
  213.  You can enter several sets of delimiters. 
  214.  
  215.   One useful set is the HTML comment delimiters  '<!--'  and '-->' .
  216.   If you use these, the raw document will not look too wierd should it be
  217.   accidentally sent to the client).
  218.  
  219.   For each set of delimiters, You MUST specify both the beginning (DELIM_1)
  220.   and end (DELIM_2) delimiter.
  221.  
  222.  
  223. Note that for "expedited sending" delim_1.2 should be set to 0.
  224.  
  225.  Examples:
  226.      delim_1.1="<!--"
  227.      delim_2.1="-->"
  228.  
  229.      delim_1.2="{"
  230.      delim_2.2="}"
  231.  
  232. *******
  233. DISALLOWEDIPS : Stem variable of "disallowed" IP addresses.
  234.    You can specify a set of ips that are NOT allowed in (a keep out pests
  235.    option). The rules are the same (* allowed, consecutive numbering, as with
  236.    inhouseips)
  237.      Note: This is ALWAYS checked (even if checklog=NO) -- and if a
  238.            match is found, no logon is requested (They CAN't get in)
  239.      Example:   unallowedips.1 = "149.126.12.*"
  240.                 unallowedips.2="136.12.5.212"
  241.      Example2: unallowedips.1="*.*.*.*"
  242.                 Only OWNERS and INHOUSEIPS.n folk can get in !
  243.      Example3 : unallowedips.1 = 0
  244.                  means that no one is automatically excluded.
  245.  
  246.     Note that DISALLOWEDIPS. is checked after INHOUSEIPS. and OWNERS
  247.  
  248. *************************
  249. DNS_CHECK: Force DNS check before access
  250.   As a security measure, you might want to look up the IP name of the
  251. client (using the client's IP address and his DNS).  If no name can
  252. be found, logon is not allowed.
  253.  
  254.       NO: do not force access
  255.       YES: Force lookup of IP name before allowing access
  256.  
  257. Althoug this will provide some security agains "fake" IP addresses, it
  258. will also slow down response time.
  259.  
  260.  
  261. *********
  262. FIX_EXPIRE:  For fixing the GoServe automatic response header.
  263.  
  264. If FIX_EXPIRE > 0 , then instead of returning the default GoServe
  265. response headers, SRE-FILTER will generate it's own.  In particular,
  266. it will add FIX_EXPIRE "fractions of a day" to the current date/time,
  267. and use it as the File-Expires date.
  268.  
  269. If FIX_EXPIRE=0, then the default GoServe response headers will be used
  270. -- plus any headers that may have been specified using the META and LINK
  271. elements in the HEAD (see AUTO_HEADER).
  272.  
  273. This can be useful when relatively static (that do not depend on the
  274. current "hour") server side includes are performed.  In such cases, GoServe 
  275. automatically sets the expiration time to be the current moment.  This
  276. can be a hassle for some clients (Netscape will reload such "expired"
  277. documents if "backed up" to).
  278.  
  279. Note that a value of FIX_EXPIRE=0.1 = .1 * 24 hours = 2.4 hours.
  280. Also note that for "expedited sending", this should be set to 0.
  281.  
  282. Example: FIX_EXPIRE=0
  283.  
  284. **********
  285. HEADERS and FOOTERS: Automatically added to all HTML documents.
  286.     You can specify a block of HTML code to include at the beginning and the
  287.     end of the body of the document.  This is done by specifying HEADERS.n
  288.     (n=1...) and FOOTERS.n
  289.     To suppress this, set HEADERS.1=0 and/or FOOTERS.1=0
  290.        Note: HEADERS.n lines are written (consecutively) just after the first
  291.            <BODY> phrase in your document.  FOOTERS.n lines are written just
  292.            before the last </BODY> phrase in your document.
  293.  
  294. Example:
  295.    HEADERS.1=' <em> Our docuuments </em> '
  296.    FOOTERS.1=' <p> <strong> goodbye  </strong> '
  297. or, to suppress headers and footers
  298.    HEADERS.1=0
  299.    FOOTERS.1=0
  300.  
  301.  
  302.  
  303. ***************
  304. HOME_NAME  : The name of your organization
  305.   The colloquial (not necessarily ip name of this domain,)
  306.   This can be included in a document by using the REPLACE HOME_NAME
  307.   keyphrase.  Note it's use in not_found_url.
  308.  
  309.     home_name="DIVISION/AGENCY/DEPARTMENT/GOV"
  310.  
  311.  
  312. *******
  313. INHOUSEIPS. : Stem variable containing IP address of "in-house" clients.
  314.   You can specify any number of "in-house IP domains".
  315.     Just specify the 4 elements --
  316.          you can use * for "all" (say * in  111.222.33.*)
  317.  
  318.     If Logon controls are desired, then clients with these
  319.     IPs are automatically given access.
  320.     The only constraint is that you number consecutively, starting from 1
  321.     -- that is, don't skip around!
  322.  
  323.     In addition, you can specify extra privileges on each inhouseips. entry.
  324.  
  325.  
  326.   Example:
  327.        inhouseips.1="151.121.64.*"
  328.        inhouseips.2="151.121.65.*  VIEWMESS CONTROL "
  329.        (All clients from 151.121.65.xxx are given VIEWMESS and CONTROL
  330.         privileges, in addition to the privileges contained in the 
  331.         INHOUSE_PRIVS variable)
  332.  
  333.  
  334.   If there are NO in-house IP domains, set inhouseips.1=0
  335.  
  336.  
  337. ****************
  338. INHOUSE_NAME:. Name of In-house user class.
  339.    This is used for a few internally generated messages.
  340.  
  341.   Example:  inhouse_name="OUR-DOMAIN"
  342.  
  343.  
  344. *******
  345. INHOUSE. and SUPERUSERS.
  346.      The following are special variables used with the INHOUSE.n
  347.       and SUPERUSER.n replacement strings (see decripition of the REPLACE
  348.       keyphrase).  They will be displayed only for
  349.       "inhouse" and "superusers", respectively.
  350.       Note that INHOUSE.n variables correspond to INHOUSE.n replacement
  351.       strings, and SUPERUSER.n variables correspond to SUPERUSER.n
  352.       replacement  strings.
  353.  
  354. Examples:
  355.    inhouse.1=" (Staff Version) "
  356.    inhouse.2=' .. more staff stuff '
  357.    superuser.1="(Super User)"
  358.  
  359.  
  360.  
  361. **************
  362. INHOUSE_PRIVS. Privileges for IN-HOUSE clients.
  363.  
  364.   A space delimited list of  privileges to be granted to OWNERS and
  365.   IN-HOUSE clients. It is HIGHLY recommended that INHOUSE_PRIVS always contain
  366.   INHOUSE as one of the privileges!
  367.  
  368.   Note that one might wish to add VIEWMESS as an INHOUSE privilege (VIEWMESS
  369.   gives access to the message-boxes)
  370.  
  371.   Example: inhouse_privs=" INHOUSE VIEWMESS "
  372.  
  373. **********
  374. ISMAP_URL : "Mappable image" signifier string.
  375.  ISMAP_URL is the special "mappable image" identifier-string.
  376.  
  377.  When this identifier-string appears in a request-string,
  378.  SRE-FILTER assumes that the request "is a response from a mappable image"
  379.  
  380.  For example, if ismap_url=/MAPIMAGE, then urls of the form:
  381.         /MAPIMAGE/GIFSDIR/USMAP.MAP?123,312
  382.  will be interpreted as
  383.        "pixel 123,312, in combination with the instructions contained
  384.         in  /GISDIR/USMAP.MAP  will select a URL to redirect the client to"
  385.         (where USMAP.MAP is an NCSA style MAP file)
  386.  
  387.       Note that MAPIMAGE/ is NOT considered to be part of the
  388.       directory name-- it is treated as a flag!
  389.  
  390.  
  391. ismap_url="MAPIMAGE/"     -- note that the leading / is optional.
  392.  
  393.  
  394.  
  395. *****************
  396. MAX_POINTDIST : Used with the POINT type in mappable images.
  397.  
  398. Max_pointdist is used with mappable images.  
  399.  
  400.     The "point" area, is one of the 4 types of areas (circle, rectangles,
  401.     polygons, points) used in selecting a URL from a mappable image.
  402.     If a selected pixel does not lie in one of the first 3, or does not
  403.     lie directly on top of a point; SRE-FILTER determines to which (of
  404.     the many possible different points that may appear in the map file)
  405.     the selected pixel is closest to.  However, if the distance to this 
  406.     closest point is greater then max_pointdist, then the Default URL is used. 
  407.  
  408. Thus, this  limits the region of space "potentially assigned" to each point.
  409.  
  410.    Of course, setting max_pointdist to be very high (say, 100000),
  411.    will effectively cancel this limit.
  412.  
  413.   Example: max_pointdist=50
  414.  
  415.  
  416. ***********
  417. MACROSPACE_INPUT: Suppress loading parameter files into macrospace.
  418.  
  419.         To speed up processing, SRE-FILTER caches the various
  420. parameter files (such as the INITFILT_FILE and the ALIAS_FILE) into macrospace.
  421. If desired, you can suppress this.  You may want to do this if you
  422. are running multiple instances of  GoServe (using different ports) --
  423. if each instance uses a different set of parameter files, it is safest
  424. to forgo the use of a "single set" of macrospace-cached parameter files.
  425.  
  426.  
  427. *********
  428. MESS_HIT_LINE : Used to write OPTION  info instead of counts
  429.     Mess_hit_line is used  to write out "# hits drawn from an OPTION
  430.     passed to me" -- that is, it used with the REPLACE MESS_HITS keyphrase
  431.  
  432.   Example: mess_hit_line=":: still access # "
  433.  
  434.  
  435. *************
  436. NO_PROCESSING:  Suppress server side processing
  437.  
  438.   Switch to dictate whether or not to allow server side processing.
  439.         YES - Do NOT do  allow server side processing
  440.             If YES, then requests for server side processing will cause
  441.             a 401 Unauthorized message to be returned to the client.
  442.         NO -  Allow server side processing.
  443.  
  444.   Example: no_processing="NO"
  445.  
  446.  
  447. ************
  448. NO_INCLUDE:  Suppress server side includes.
  449.  
  450.   Switch to dictate whether or not to attempt "dynamic" page creation
  451.     (i.e.  processing HEADERS, FOOTERS, and the
  452.      SELECT, INCLUDE, REPLACE, OPTION, and MESSAGE keyphrases)
  453.         YES - Do NOT do dynamic page processing.
  454.             Files sent as is (if keyphrases occur, they will be unmodified).
  455.             If you  NEVER include these keyphrases, and you want to speed
  456.             up processing a bit, set this to "YES"
  457.         NO -  Create dynamic pages (that is, search for and process the
  458.               INCLUDE, REPLACE, and MESSAGE keyphrases).
  459.  
  460.   Example: no_include="NO"
  461.  
  462. **********
  463. NOEXT_TYPE: Determine how to handle "no extension" request strings.
  464.  
  465. NOEXT_TYPE is used to instruct SRE-FILTER what to do with requests that
  466. have no extension, do not end in a /, and do not have ? in them.  There are
  467. several allowed values of NOEXT_TYPE:
  468.  
  469.   DIR  : Interpret as a directory; a / is appended to the end, and AUTO_NAME 
  470.          is then used.
  471.   HTM or HTML : Interpret as an HTML file (a .HTM or .HTML is appended to
  472.                 the end, respectively)
  473.   NONE:  Use as is
  474.   other_string: Append other_string.  For example, if NOEXT_TYPE=.GIF,
  475.                 then .GIF will be appended to the end).
  476.  
  477.  Example: NOEXT_TYPE="DIR"
  478.  
  479.  
  480. ***************
  481. NOT_FOUND_URL : A message if URL not found.
  482.     This message is sent along with the  "not found url" response.
  483.     Note that it should be a valid HTML string.
  484.     Set it to  " " if you want no such message sent.
  485.  
  486.    Example: not_found_url='<a href="/"> Visit the '||home_name||' page? </a> '
  487.  
  488.  
  489. *************************
  490. NO_GETAFILE_CONTROL : Control access to GETAFILE routine.
  491.    You can limit the availability of the GETAFILE facility
  492.    (do this if you don't want just anyone being able to list the files
  493.    in your data directory).
  494.    This is done by setting NO_GETAFILE_CONTROL to one of 3 values
  495.         YES : Everyone can use GETAFILE
  496.         INHOUSE: Only superusers and in-house users can use getafile
  497.         NO    : Only superusers can use getafile.
  498.  
  499.   Example: NO_getafile_control="YES"
  500.  
  501. **********
  502. OWNERS: Assigned SUPERUSER privileges
  503.    Owners are always given SUPERUSER privileges.
  504.    You can specify any number of owners, just seperate each of them
  505.    with a space. Note that wildcards are NOT allowed.
  506.  
  507.     If there are no owners, set owners=0.
  508.  
  509.  Example: owners   = " 151.121.65.163 "
  510.  
  511.  
  512. ************
  513. PRE_FILTER: Call a user written pre-filter.
  514.  
  515. PRE_FILTER is used to control whether a user written "pre-filter" is
  516. called before SRE-FILTER is given control.  It can take 3 values:
  517.  NO:  Do not call a pre-filter.
  518.  YES: Call a pre-filter after checking logon privileges (if the client
  519.       does not have logon rights, the pre-filter will not be called)
  520.  FIRST:  Call a pre-filter as the first action (before checking logon rights)
  521.  
  522.  
  523. ************
  524. PREFILTER_NAME: Name of procedure to call as a pre filter.
  525. This should point to an external procedure.  As with other external procedures, it
  526. will be stored in a file with the name PREFILTER_NAME.80 (in you working
  527. directory).  
  528.  
  529. If the  PREFILTER_NAME variable is missing, a value of "PREFILTR" will be used.
  530.  
  531.  Example:  PREFILTER_NAME='PREFILTR'
  532.  
  533.  
  534.  
  535. ************
  536. POST_FILTER: Call a user written pre-filter.
  537.  
  538. PRE_FILTER is used to control whether a user written "post-filter" is
  539. called before SRE-FILTER is given control.  It can take 2 values:
  540.  NO:  Do not call a post-filter.
  541.  YES: Call a pre-filter after sending response to client.
  542.  
  543. Note that if POST_FILTER is active, the POSTFILT procedure (which should
  544. be in POSTFILT.80) is called.
  545.  
  546. ************
  547. POSTFILTER_NAME: Name of procedure to call as a post filter.
  548. This should point to an external procedure.  As with other external procedures, it
  549. will be stored in a file with the name POSTFILTER_NAME.80 (in your working
  550. directory, assuming that the server is on port 80.  
  551.  
  552. If the  POSTFILTER_NAME variable is missing, a value of  POSTFILT will be used.
  553.  
  554.  Example:  POSTFILTER_NAME='POSTFILT'
  555.  
  556.  
  557.  
  558. ****************
  559. PUBLIC_FILES.  A stem variable containing a list of publicly
  560. accessible URL's.
  561.  
  562. The basic idea is that before logon or access_controls are checked,
  563. SRE-FILTER sees if the request string (including any ? and option list)
  564. matches one of the PUBLIC_FILES. If so, no logon, etc. checking is attempted.
  565. In a sense, the PUBLIC_FILES are purposely placed outside of the 'protection'
  566. of SRE-FILTER's various access controls.
  567.  
  568.  You can specify any number of URLs that will be available to all
  569.  clients.  When these URLs are requested, logon requirements and
  570.  access controls are not checked (aliases ARE allowed,  but not
  571.  auto_name and host_name).  Wildcards are allowed.
  572.  
  573.     Examples:
  574.      PUBLIC_FILES.1="INDEX.HTM"
  575.      PUBLIC_FILES.2="MAPS/* "
  576.  
  577. The second gives access to everything in the MAPS/ directory (which
  578. might include imagemaps)
  579.  
  580. Note that all files are assumed to be relative to the data directory
  581. or a virtual directory.
  582.  
  583. If you have no PUBLIC_FILES, set PUBLIC_FILES.1=0
  584.  
  585. To reiterate, the request string is examined for matches to one of the
  586. PUBLIC_FILES (exact matches are done first).
  587.  
  588. Suggestion: set up a public_file that is a simple alias for a more
  589. complicated URL.  For example, the default INITFILT.80 and
  590. ALIASES.IN support a "let anyone list our public files" facility using:
  591.   "PUBLIC","GETAFILE*" and "PUBFILES/*" as PUBLIC_FILEs, and
  592.    PUBLIC as an ALIAS for getafile?dir=pubfiles&etc.
  593.  
  594.  
  595. **************
  596. PUBLIC_PRIVS.  Additional privileges for all clients.
  597.  
  598.   A space delimited list of additional privileges to be granted to all
  599.   clients (possibly in addition to INHOUSE_PRIVS).
  600.    Set PUBLIC_PRIVS=" " if no additional privileges  are needed.
  601.  
  602.   Example: public_privs=" PUBLIC "
  603.  
  604.  
  605. *******
  606. RECORD_OPTION : Select whether to record all allowed requests.
  607.  
  608.  
  609.  If you want to keep a running total for recieved request strings.
  610.  
  611.   RECORD_OPTION can take 3 values
  612.         NO = Do NOT Keep track of requests
  613.         YES = Remove argument list, and keep track of all requests.
  614.         YES_ALL = Do not remove argument list, and keep track of all requests.
  615.  
  616.     If RECORD_OPTION is <> NO, results will be written to the RECORD_ALL_FILE.
  617.  
  618.     The "argument list" is the ? (and anything that follows it) in a URL.
  619.     If you use YES_ALL, be prepared for your RECORD_ALL_FILE to grow
  620.     quite large.
  621.  
  622.    Note that RECORD_ALL_FILE can be hand-edited.  You may want to add
  623.    appropriate "wildcarded" entries (such as /TEMP/* to keep track of
  624.    all temporary files, thereby avoiding the creation of 
  625.     lots of meaningless entries).
  626.  
  627.   Example:  record_option="YES"
  628.  
  629. ************
  630. RETAIN_BAD_KEYPHRASES
  631.  
  632. When processing server side includes,  'bad' keyphrases may occur.  
  633. Specifically, a keyphrase that begins with one of the keywords (REPLACE,
  634. INCLUDE, INTERPRET, SELECT, OPTIONS or #xxx) may have a bad syntax.
  635. SRE-FILTER can either retain these (say, as comments); or discard them.
  636. To discard them, set RETAIN_BAD_KEYPHRASES='YES'; 
  637. if RETAIN_BAD_KEYPHRASES='NO'then they will be discared.
  638.  
  639. Note: To use "expedited sending", this should be sent to NO.
  640.  
  641. Example:  RETAIN_BAD_KEYPHRASES=NO
  642.  
  643.  
  644.  
  645. ************
  646. SMTP_GATEWAY: Domain name of an SMTP server
  647.  
  648. The SMTP_GATEWAY is used by the MAILIT procedure (it uses it to mail
  649. E-mail alerts).  This should be the domain name of a SMTP mail server.
  650. You can use your own Server as the SMTP gateway by running SENDMAIL.
  651.  
  652. Example:  SMTP_GATEWAY=MAILBOX.BIG.EDU
  653.  
  654.  
  655. **********
  656. SSI_ALLOW and SSP_ALLOW
  657.  
  658. If you set ALLOW_ACCESS to INHOUSE or to NO, then SSI (server side includes)
  659. and SSP (server side processing) can be controlled on a per URL basis 
  660. (with wildcarding allowed).
  661.   When SSI_ALLOW<>"YES", then the ACCESS_FILE is checked for an 
  662.           "allow server side includes" privilege.
  663.   When SSP_ALLOW<>"YES", then the the ACCESS_FILE is checked for an
  664.            "allow server side processing" privilege.
  665.  
  666. If SSI privileges are not present, then server side includes will not occur 
  667. (the document will be sent back with the keyphrases included).
  668.  
  669. If SSP privileges are not present, a server side proccesing request will cause 
  670. a 401 Unauthorized response to be sent back to the client.
  671.  
  672.  
  673. ********
  674. UPLOAD_MAXDIST:  The maximum size (in Kbytes) allowed in a uploaded file.
  675. uploaded files are placed on the server when a 
  676.     GET_URL?URL=http://www.their.org/afile.1
  677. request string is recieved.
  678. Set this small (say, 20) if you don't want large files dumped onto
  679. your machine.  Set it to 0 to disable all file uploads!
  680.  
  681.   Example: upload_MAXDIST=50
  682.  
  683.  
  684. ********
  685. UPLOAD_MINFREE: The minimum amount of free space (in Kbytes)
  686. that must exist in the upload_DIRECTORY's hard drive
  687. after uploading a file with GET_URL.
  688. Set this large (say 100000) if you want to be certain that your
  689. hard drive doesn't get filled up).
  690.  
  691.  
  692.    Example: upload_MINFREE=25000
  693.  
  694.  
  695. Note: if either upload_MINFREE or upload_MAXSIZE are violated, file
  696. upload will not occur.
  697.  
  698.  
  699. *********
  700. WEBMASTER: A static variable
  701.     Webmaster is used  for error message  et al
  702.     note: you might also want to put a CONTACT line in the repstrgs_file file.
  703.  
  704.   Example: webmaster='<a href="mailto:bb1@farm.ag.gov"> Webmaster </a> '
  705.  
  706.  
  707.  
  708.  
  709.  
  710. ********
  711. List of files and directory identifier variables.
  712.  
  713.   Change these if you want to use a non-defaults for:
  714.    SERVDIR)   Directory containing GOSERV, SREFILTR, GETPOST, etc.
  715.    MESSBOX_DIR)   Directory containing message boxes,
  716.    CGI_BIN_DIR) Location of CGI-BIN programs.
  717.    WORKDIR)  Directory to use for creation of "working" files (by external
  718.          procedures) .
  719.    upload_DIR) Default location for files uploaded from other
  720.                 servers using the GET_URL facility
  721.    HOMEDIR) The "home directory" -- it is used whenever a ~ is encountered in
  722.         a SEL.  Note that this is direct textual substitution, no syntax
  723.         checking occurs.  So, be sure your use of ~ in URL's matches the
  724.         definition set here.  A typical value of this would be "HOMEDIR/"
  725.  
  726.    COUNTER.CNT) " REPLACE HITS" counter file
  727.    RECORD_ALL_FILE) "record all requests" counter file
  728.    SENDFILE_FILE) File used by SENDFILE procedure to keep track of requests.
  729.    ACCESS_FILE) File used to control access when ALLOW_ACCESS is binding
  730.    UPLOAD_LOG) Record of "uploaded files"
  731.    ALIAS_FILE)  File containing the aliases.
  732.    VIRTUAL_FILE) File containing "virtual directory" URL aliases.
  733.    REPSTGS_FILE)  REPLACEment string file
  734.    USERS_FILE) Username/password file
  735.    INTERPRET_FILE) File containing blocks of REXX code for use by the
  736.         INTERPRET: keyphrase.
  737.  
  738. Examples:
  739.    messbox_dir="e:\GOSERV\DATA"
  740.    workdir="e:\gohttp\temp"
  741.    home_dir="HOMEDIR/"
  742.    upload_dir="E:\goserv\upload"
  743.    cgi_bin_dir="E:\GOSERV\CGI_BIN"
  744.  
  745.    counter_file="e:\GOSERV\DATA\COUNTER.CNT"
  746.    record_all_file="e:\goserv\data\recrdall.cnt"
  747.    sendfile_file="e:\GOSERV\DATA\SENDFILE.CTL"
  748.    access_file="e:\GOSERV\DATA\ALL_FILE.CTL"
  749.  
  750.    virtual_file="E:\GOSERV\VIRTUAL.IN"
  751.    alias_file="e:\GOSERV\ALIASES.IN"
  752.    repstrgs_file="e:\GOSERV\REPSTRGS.IN"
  753.    user_file="e:\GOSERV\USERS.IN"
  754.    interpret_file="e:\GOSERV\INTERPET.IN"
  755.  
  756.  
  757.  
  758.